
namespace Yahtzee.Game
{
    public class FullHouse : Scorecombinatie
    {

        public FullHouse() { }


        public override int getScore()
        {
            if (zijnErTweeEnDrieDezelfde())
            {
                return 25;
            }
            return 0;
        }

        private bool zijnErTweeEnDrieDezelfde()
        {
            int[] aantallen = beurt.dobbelstenen.telAantalGelijken();
            return zijnErExactTweeDezelfde(aantallen) && zijnErExactDrieDezelfde(aantallen);
        }

        private bool zijnErExactTweeDezelfde(int[] aantallen)
        {
            return isErEenExactAantal(2, aantallen);
        }

        private bool isErEenExactAantal(int waarde, int[] aantallen)
        {
            foreach (int aantal in aantallen)
            {
                if (aantal == waarde)
                {
                    return true;
                }
            }
            return false;
        }

        private bool zijnErExactDrieDezelfde(int[] aantallen)
        {
            return isErEenExactAantal(3, aantallen);
        }

    }
}